A data storage system is an arrangement of hardware and software that typically includes one or more storage processors coupled to an array of non-volatile data storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives. The storage processors service host input/output (I/O) operations received from host machines. The received I/O operations specify storage objects (e.g. logical disks or “LUNs”) that are to be written to, read from, created, or deleted. The storage processors run software that manages incoming I/O operations and that performs various data processing tasks to organize and secure the host data received from the host machines and stored on the non-volatile data storage devices.
Some data storage systems organize data into filesystems, which are stored on respective LUNs. Some of these systems utilize mapped LUNs that are made up of pieces of underlying storage that are assembled together and then mapped to particular addresses. In these systems, there is some latency associated with mapping locations within a filesystem to locations on the underlying storage, especially on new writes. Thus, in order to speed up operation, these systems may cache incoming writes to the filesystem, allowing the data to be “flushed” to the underlying storage at a later time.